import { createSlice } from '@reduxjs/toolkit'

export const toastSlice = createSlice({
    // 命名空间
    name: 'toast',
    // 初始数据，相当于 vuex 里面 的state
    initialState: {
        show: false, // toast组件是否需要显示
        text: '默认信息', // toast 组件的内容
        type: 'err' // toast组件的信息的类型 ， success | err
    },
    // 操作数据的方法， 相当于是 mutations
    reducers: {
        showToast(state, { payload }) {
            state.show = true;
            state.text = payload.text;
            state.type = payload.type;
        },
        hideToast(state) {
            state.show = false
        }
    },
})

// 为了简化使用， 把 reducers(mutations) 里面的方法导出，便于使用
export const { showToast, hideToast } = toastSlice.actions;
// 默认导出一个 模块
export default toastSlice.reducer;